<template>
  <!-- 2. 准备一个具备宽高的容器 -->
  <div class="chart-container" ref="chartRef"></div>
</template>

<script lang="ts">
export default {
  name: "LineChart",
};
</script>

<script lang="ts" setup>
// * 代表echarts暴露的所有内容
// as 重命名
// echarts 命名的名称
// 引入echarts暴露的所有内容，重命名为echarts
// 所以：echarts就是echarts库暴露的所有内容
/*
      1. 默认暴露 export default xxx
        如何使用？ import xxx from 'xxx' 等价于 import { default as xxx } from 'xxx'

      2. 分别暴露/统一暴露 export xxx
        如何使用？ import { xxx } from 'xxx'
    */
// 1. 引入echarts
import * as echarts from "echarts";
import { onMounted, ref } from "vue";

const chartRef = ref();

onMounted(() => {
  // 3. 初始化echarts实例
  const myEcharts = echarts.init(chartRef.value);
  // 4. 定义图表选项
  const option = {
    xAxis: {
      boundaryGap: false,
      // 不显示
      show: false,

      min: 0, // x轴最小值
      max: 5000,
    },
    yAxis: {
      type: "category",

      show: false, // 将y轴隐藏
    },
    series: {
      name: "用户增长量",
      type: "bar",
      data: [2000],
      barWidth: 10,
      backgroundStyle: {
        color: "#eee",
      },
      showBackground: true,
      itemStyle: {
        color: "yellowgreen",
      },
      label: {
        show: true, // 显示
        formatter: "|", // 显示的具体内容
        position: "right", // 内容的位置
        color: "yellowgreen", // 颜色
      },
      // 区域颜色
      areaStyle: {
        color: "blue",
        opacity: 1,
      },
      // 线样式
      lineStyle: {
        color: "blue",
      },
    },
    grid: {
      left: 0,
      right: 0,
      top: 0,
      bottom: 0,
    },
    tooltip: {
      trigger: "axis",
    },
  };
  // 5. 渲染图表
  myEcharts.setOption(option);
});
</script>

<style scoped>
.chart-container {
  height: 100%;
  width: 100%;
  /* background-color: yellow; */
}
</style>
